草庐IT

Android Test测试前提条件

全部标签

javascript - 测试 Vue.js 组件

我想测试一个Vue.js组件,但我失败了。简单地说,我正在设置一个组件属性,我想断言它设置正确。如果这很重要,模块将加载导出,并使用Webpack输出JS。//componentexports=module.exports={};module.exports={data:function(){return{active:false};},methods:{'close':function(){console.log(this.active);//->truethis.active=false;console.log(this.active);//->false}}};//compone

javascript - 有条件地阻止方法执行的 JS TS 装饰器

我想编写一个方法装饰器,有条件地阻止执行该方法或用其他过程替换该方法。特别是我希望根据在客户端或服务器上调用时的不同行为:functionserverMethod(target){if(Meteor.isClient){//callservermethodtodeleteauser//preventexecutionofdecoratedmethod}}classUser{@serverMethoddelete(){UserCollection.delete(this.id)}} 最佳答案 1。概念概述ES2016方法装饰器是具有3

Javascript 返回什么应该是速记 boolean 测试的字符串

有人可以向我解释为什么这会返回空字符串("")而不是boolean值(false)吗?varx="";alert(x&&x.length>0);...虽然这按预期工作,但返回true:vary="abc";alert(y&&y.length>0);我基本上只是想做一个简单的速记检查,看看变量中是否存在一个值(确保它不是未定义的、空的或空字符串)。我知道我可以单独进行每个测试(x==null,typeofx=='undefined',x=='')-我只是想了解为什么Javascript返回一个看起来像a的字符串boolean测试。 最佳答案

javascript - Angular.js 使用 html2js 将指令与外部模板联合测试 - 无法加载模板

我正在尝试测试使用外部模板的指令。我尝试了以下所有解决方案,但没有成功:ng-directive-testingHowtotestdirectivesthatusetemplateUrlandcontrollers?AngularJS+Karma+Ng-html2js=>Failedtoinstantiatemodule...html我创建了一个测试指令(一个简单的div)并使用内联"template"和外部“templateUrl”对其进行了测试。内联解决方案有效,而外部解决方案无效:angular.module('AdUnit').directive('actionButton',

javascript - 使用 Protractor 测试 Canvas 绘图

有没有办法测试绘图是否是使用Protractor在Canvas上绘制的?即我根据用户点击绘制了一个矩形:varshape=newcreatejs.Shape();shape.graphics.beginStroke("black");shape.graphics.drawRect(crd.x,crd.y,crd.width,crd.height);stage.addChild(shape)stage.update()现在我想制定一个规范来测试是否在指定坐标上绘制了一个矩形,并且作为一个加号,测试它的边框是否为黑色。这可以使用Protractor/WebDriverJSAPI吗?

javascript - AngularJs Jasmine 单元测试中的 $httpBackend

我无法让我的单元测试正常工作。我有一个开始为空的$scope数组,但应该用$http.get()填充。在真实环境中,数组中大约有15个左右的对象,但对于我的单元测试,我只抓取了2个。对于单元测试,我有:expect($scope.stuff.length).toBe(2);但jasmine的错误是:Expected0tobe2.这是我的controller.js:$scope.stuff=[];$scope.getStuff=function(){varurl=site.root+'api/stuff';$http.get(url).success(function(data){$sc

javascript - AngularJS ng-if 指令在删除元素之前即使条件为假也会短暂呈现

在下面的模板中,我希望脚本标签永远不会呈现,警报脚本也永远不会执行。然而它确实如此。alert('shouldnotrun')Shouldnotappear这给我们在移动设备上带来了巨大的性能问题,因为我们将大型DOM和指令结构包装在ng-if中,并期望它们在条件为假时不会呈现。我还测试了以相同方式运行的ng-switch。这是预期的行为吗?有没有办法避免不必要的渲染?JSFiddle 最佳答案 这可能看起来很落后,但ngIf更多地处理DOM的删除,而不是添加。在Controller完成实例化之前,DOM仍然存在。这通常是一件好事,

javascript - 我应该对我的/src 文件还是/build 文件进行单元测试?

在设置单元测试时(在我的例子中,使用JasmineforJavaScript)是否应该测试未缩小/未丑化的src文件?还是应该测试最终用户build文件(缩小和丑化)?在我的grunt配置中:jasmine:{src:['src/file.js']}对比jasmine:{src:['build/file.min.js']}一方面,测试src文件很好,因为它不会删除调试器,并且在需要时更容易检查。另一方面,我可以尽可能多地测试src文件,但最终用户将运行的内容并不真实,因为build文件被丑化和缩小。 最佳答案 您绝对应该对编写的裸源

javascript - 一个变量中的 jQuery 多个条件

我试图在变量中添加条件,然后在if()条件中赋值,但它没有按预期工作。尝试过的可能性:1)conditionCheck=(getMonth==undefined||getMonth==""||getMonth==null||getDay==undefined||getDay==""||getDay==null||getYear==undefined||getYear==""||getYear==null)2)conditionCheck=getMonth==undefined||getMonth==""||getMonth==null||getDay==undefined||getDa

javascript - 函数组合中的条件操作

如何根据某些逻辑条件停止或分支合成?例如。假设我有以下代码:compose(operation4operation3,operation2,operation1)(myStuff);或者甚至是类似的东西myStuff.map(operation1).map(operation2).map(operation3).map(operation4)我只想在myStuff满足某些条件时执行操作3和4。我如何实现它(特别是在JavaScript中)?我是否必须创建两个较小的组合并有一个单独的if语句,或者有没有办法在组合中包含条件?Monad能解决我的问题吗?如果是,怎么办?